package com.lingshu.customview.utils;

import android.graphics.PointF;

/**
 * 距离计算 工具类
 */
class DistanceCalculatorUtils {
    /**
     * 计算两个坐标的像素距离
     *
     * @param p1
     * @param p2
     * @return
     */
    public static float calculateDistance(PointF p1, PointF p2) {
        return (float) Math.sqrt(Math.pow(p2.x - p1.x, 2) + Math.pow(p2.y - p1.y, 2));
    }

    /**
     * DPI换算系数
     *
     * @param originalDpi 原始DPI
     * @param deviceDpi   设备DPI
     * @return
     */
    public static float getDpiConversionFactor(float originalDpi, float deviceDpi) {
        return originalDpi / deviceDpi;
    }

    /**
     * 将像素距离转成mm
     *
     * @param pixelDistance       像素距离
     * @param dpiConversionFactor DPI换算系数
     * @return
     */
    public static float convertPixelsToMillimeters(float pixelDistance, float dpiConversionFactor) {
        return pixelDistance * (25.4f / dpiConversionFactor);
    }
}
